Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

netdde

Package Overview
Dependencies
Maintainers
4
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

netdde

A JavaScript implementation of the NetDDE protocol

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
4
Created
Source

NetDDE

A JavaScript implementation of the NetDDE protocol.

The goal with this package is to be able to exchange data with a Windows computer running the server side of Chris Oldwood's DDE Network Bridge from a Node.JS program. NetDDE's terminology and limitations apply here.

Usage

For a detailed API specification please check the generated JSDoc

const { NetDDEClient, Constants } = require('netdde');

let excel = new NetDDEClient('EXCEL', { host: '127.0.0.1' /*, port: 8888 */ });
excel.connect().then(async () => {

    //gets the content of cell A2 on Sheet1
    console.log(await excel.request('Sheet1', 'r2c1'));
    //gets the content of the range A1:C4 on Sheet1
    console.log(await excel.request('Sheet1', 'r1c1:r4c3'));

    //writes 'Hello World!' on cell B42
    console.log(await excel.poke('Sheet2', 'r42c2', Constants.dataType.CF_TEXT, 'Hello World!'));

    //execute a command (simulate it's being typed on the keyboard)
    console.log(await excel.execute('System', "I'm a cell content\r\n"));

    //listen for changes on an item (cell A1)
    await excel.advise('Sheet 1', 'r1c1', Constants.dataType.CF_TEXT);
    excel.on('advise', d => {
        console.log(`Cell on ${d.item} of ${d.topic} changed to ${d.data}`);
    });
    //stop listening to changes on it
    await excel.stopAdvise('Sheet 1', 'r1c1', Constants.dataType.CF_TEXT);

    //this gets emitted when a topic disconnects (sheet is closed, for example)
    excel.on('topic_disconnect', topic => {
        /* Note this will be fired only for existing
           conversations, that is, something has been
           already send over this topic*/
        console.log(`${topic} is not there anymore :(`);
    });

    //get emitted when the connection closes, regardless the reason
    excel.on('close', () => console.log('Bye!'));

    //closes all running conversations and disconnect
    await excel.disconnect();
});

References

This node was created by Smart-Tech as part of the ST-One project.

Special thanks to Chris Oldwood's work shared to the community!

License

Copyright: (c) 2019, Smart-Tech, Guilherme Francescon Cittolin guilherme.francescon@netsmarttech.com

GNU General Public License v3.0+ (see LICENSE or https://www.gnu.org/licenses/gpl-3.0.txt)

Keywords

FAQs

Package last updated on 07 Nov 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc